package com.atguigu.sellcourse.controll

import com.atguigu.sellcourse.service.DwsSellCourseService
import com.atguigu.util.{BaseControll, HiveUtil}
import org.apache.spark.sql.SparkSession

/**
 * description ：售课模块读取 dwd 层合并成售课详情宽表
 * author      ：剧情再美终是戏 
 * mail        : 13286520398@163.com
 * date        ：Created in 2020/3/10 14:50
 * modified By ：
 * version:    : 1.0
 */

object DwsSellCourseController extends BaseControll {
  override def initAppName(appName: String) = super.initAppName(this.getClass.getName)

  override def doSmething(spark: SparkSession, dt: String, dn: String) = {
    HiveUtil.openDynamicPartition(spark)
    HiveUtil.openCompression(spark)
    DwsSellCourseService.importSellCourseDetail(spark, dt, dn) // 读取 3 张表， 使用 df join
    DwsSellCourseService.importSellCourseDetail2(spark, dt, dn) // 使用 大表打散，小表成倍扩容方法进行连接
    DwsSellCourseService.importSellCourseDetail3(spark, dt, dn) // 使用小表广播 join
    DwsSellCourseService.importSellCourseDetail4(spark, dt, dn) // 使用 smb join
  }
}
